iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0

UVA10101

點我進UVA10101

題意

將指定的位數轉換成'kuti', 'lakh', 'hajar', 'shata'

#include <iostream>
#include <string>

using namespace std;

int main(){
	long long int n;
	string s[5]={"kuti","lakh","hajar","shata",""};
	int ran[5]={10000000,100000,1000,100,1};
	int count=1;
	while(cin>>n){
		printf(" %3d. ",count);
		count++;
		long long int tmp[2]={0},tmp2[2]={0};
		
	
			tmp[0]=n/ran[0];
			tmp[1]=n%ran[0];
			tmp2[0]=tmp[0];
			tmp2[1]=tmp[1];
		
		for(int i=0;i<5;i++){
			if(tmp[0]/ran[i]!=0){
				if(i<4)cout<<tmp[0]/ran[i]<<" "<<s[i];
				else cout<<tmp[0]/ran[i];
				tmp[0]%=ran[i];
				if(tmp[0]!=0)cout<<" ";
			}
		
		}
		
		if(tmp2[0]!=0&&tmp2[1]!=0)cout<<" "<<s[0]<<" ";
		else if(tmp2[0]!=0&&tmp2[1]==0)cout<<" "<<s[0];
		
		for(int i=0;i<5;i++){
			if(tmp[1]/ran[i]!=0){
				if(i<4)cout<<tmp[1]/ran[i]<<" "<<s[i];
				else cout<<tmp[1]/ran[i];
				tmp[1]%=ran[i];
				if(tmp[1]!=0)cout<<" ";
			}
		
		}
	
		if(n==0)cout<<0;	
		cout<<endl;
	
	}
}

UVA10424

點我進UVA10258

題意

給兩個names,要計算出值,A-Z各對應1-26(大小寫不分),可以輸入除了英文字母的其他字符,但其他字符就不用計算。

解題思路

算法是這樣例如‘bcz’, b = 2, c = 3 and z = 26所以值為(2+3+26) = 31 = (3+1) = 4,最後要計算兩個name的百分比
注意不能超過100%

這題有參考網路上其他大神的解題,謝謝大大

#include<bits/stdc++.h>
using namespace std;

int cal(int n) {
 int sum=0; 
 while(n) {
  sum+=n%10;
  n/=10;
 }
 if(sum>=10)cal(sum);//因為題目要求最後要只剩1 digit
 else return sum;
}
int main() {
 char a[26], b[26];
 while(scanf("%s", a)!=EOF) {
 int p1=0,p2=0,sum1=0,sum2=0;
  scanf("%s", b);
  for(int i=0; i<strlen(a); i++) {
   if(toupper(a[i])-64 >=1 && toupper(a[i])-64<=26){//由於輸入的name會有大小寫,且大小寫對於這題來說是相同的值
               //所以我們統一用大寫來算
               //可以輸入其他非英文字母的符號,但符號不計算值,所以這邊要判斷是否是英文字母A-Z
    p1+= toupper(a[i])-64;
   }
   
  }
  sum1 = cal(p1);
  
  for(int i=0; i<strlen(b); i++) {
   if(toupper(b[i])-64 >=1 && toupper(b[i])-64<=26){
    p2+= toupper(b[i])-64;
   }
  }
  sum2 = cal(p2);
  
  if(sum1>sum2) printf("%.2f %%\n", (double)sum2/sum1*100);
  else  printf("%.2f %%\n", (double)sum1/sum2*100);
 }

}

上一篇
[Day 21] UVA10035 & UVA10082
下一篇
[Day 23] UVA10209& UVA11608
系列文
30天從0開始的NCPC之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言